var versions = [
	{
		version: "0.3.0",
		"react.js": "271893",
		"react.js.gz": "60254",
		"react.min.js": "62213",
		"react.min.js.gz": "18060",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.3.1",
		"react.js": "271893",
		"react.js.gz": "60296",
		"react.min.js": "62213",
		"react.min.js.gz": "18060",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.3.2",
		"react.js": "271893",
		"react.js.gz": "60296",
		"react.min.js": "62213",
		"react.min.js.gz": "18063",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.3.3",
		"react.js": "272097",
		"react.js.gz": "60335",
		"react.min.js": "62311",
		"react.min.js.gz": "18089",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.4.0",
		"react.js": "355743",
		"react.js.gz": "75106",
		"react.min.js": "76815",
		"react.min.js.gz": "21677",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.4.1",
		"react.js": "360142",
		"react.js.gz": "75468",
		"react.min.js": "77547",
		"react.min.js.gz": "21811",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.4.2",
		"react.js": "359939",
		"react.js.gz": "75411",
		"react.min.js": "77355",
		"react.min.js.gz": "21758",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.5.0",
		"react.js": "443624",
		"react.js.gz": "92061",
		"react.min.js": "92797",
		"react.min.js.gz": "25969",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.5.1",
		"react.js": "444062",
		"react.js.gz": "92157",
		"react.min.js": "92974",
		"react.min.js.gz": "26024",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.5.2",
		"react.js": "444084",
		"react.js.gz": "92160",
		"react.min.js": "92977",
		"react.min.js.gz": "26025",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.6.0",
		"react.js": "105852",
		"react.js.gz": "25736",
		"react.min.js": "41933",
		"react.min.js.gz": "12284",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.6.1",
		"react.js": "97834",
		"react.js.gz": "23606",
		"react.min.js": "38708",
		"react.min.js.gz": "10937",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.6.2",
		"react.js": "97909",
		"react.js.gz": "23515",
		"react.min.js": "39894",
		"react.min.js.gz": "11600",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.6.3",
		"react.js": "98472",
		"react.js.gz": "23586",
		"react.min.js": "40298",
		"react.min.js.gz": "11666",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.7.0",
		"react.js": "99322",
		"react.js.gz": "23744",
		"react.min.js": "40760",
		"react.min.js.gz": "11784",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.7.1",
		"react.js": "99322",
		"react.js.gz": "23744",
		"react.min.js": "40760",
		"react.min.js.gz": "11784",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.8.0",
		"react.js": "458736",
		"react.js.gz": "94042",
		"react.min.js": "94460",
		"react.min.js.gz": "26490",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.9.0",
		"react.js": "528848",
		"react.js.gz": "107630",
		"react.min.js": "108607",
		"react.min.js.gz": "30241",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.10.0",
		"react.js": "549985",
		"react.js.gz": "111616",
		"react.min.js": "112351",
		"react.min.js.gz": "30949",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.11.0",
		"react.js": "592869",
		"react.js.gz": "121266",
		"react.min.js": "126275",
		"react.min.js.gz": "34576",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.11.1",
		"react.js": "593628",
		"react.js.gz": "121514",
		"react.min.js": "126354",
		"react.min.js.gz": "34596",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.11.2",
		"react.js": "594461",
		"react.js.gz": "121723",
		"react.min.js": "126490",
		"react.min.js.gz": "34643",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.12.0",
		"react.js": "570900",
		"react.js.gz": "125763",
		"react.min.js": "130289",
		"react.min.js.gz": "35776",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.12.1",
		"react.js": "571026",
		"react.js.gz": "125848",
		"react.min.js": "130289",
		"react.min.js.gz": "35776",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.12.2",
		"react.js": "571784",
		"react.js.gz": "126053",
		"react.min.js": "130436",
		"react.min.js.gz": "35818",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.13.0",
		"react.js": "598400",
		"react.js.gz": "134009",
		"react.min.js": "120732",
		"react.min.js.gz": "35907",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.13.1",
		"react.js": "598504",
		"react.js.gz": "134030",
		"react.min.js": "120797",
		"react.min.js.gz": "35923",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.13.2",
		"react.js": "599376",
		"react.js.gz": "134165",
		"react.min.js": "121458",
		"react.min.js.gz": "35941",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.13.3",
		"react.js": "600572",
		"react.js.gz": "134488",
		"react.min.js": "121738",
		"react.min.js.gz": "36037",
		"react-dom.js": "0",
		"react-dom.min.js": "0",
	},
	{
		version: "0.14.0",
		"react.js": "640047",
		"react.js.gz": "144251",
		"react.min.js": "135334",
		"react.min.js.gz": "39290",
		"react-dom.js": "1170",
		"react-dom.min.js": "706",
	},
	{
		version: "0.14.1",
		"react.js": "640971",
		"react.js.gz": "144450",
		"react.min.js": "135480",
		"react.min.js.gz": "39336",
		"react-dom.js": "1170",
		"react-dom.min.js": "706",
	},
	{
		version: "0.14.2",
		"react.js": "641226",
		"react.js.gz": "144515",
		"react.min.js": "135543",
		"react.min.js.gz": "39367",
		"react-dom.js": "1170",
		"react-dom.min.js": "706",
	},
	{
		version: "0.14.3",
		"react.js": "641366",
		"react.js.gz": "144540",
		"react.min.js": "135618",
		"react.min.js.gz": "39387",
		"react-dom.js": "1170",
		"react-dom.min.js": "706",
	},
	{
		version: "0.14.4",
		"react.js": "641356",
		"react.js.gz": "144517",
		"react.min.js": "135528",
		"react.min.js.gz": "39367",
		"react-dom.js": "1170",
		"react-dom.min.js": "706",
	},
	{
		version: "0.14.5",
		"react.js": "641356",
		"react.js.gz": "144517",
		"react.min.js": "135528",
		"react.min.js.gz": "39367",
		"react-dom.js": "1170",
		"react-dom.min.js": "706",
	},
	{
		version: "0.14.6",
		"react.js": "641479",
		"react.js.gz": "144554",
		"react.min.js": "135572",
		"react.min.js.gz": "39377",
		"react-dom.js": "1170",
		"react-dom.min.js": "706",
	},
	{
		version: "0.14.7",
		"react.js": "641547",
		"react.js.gz": "144586",
		"react.min.js": "135581",
		"react.min.js.gz": "39389",
		"react-dom.js": "1171",
		"react-dom.min.js": "706",
	},
	{
		version: "0.14.8",
		"react.js": "641672",
		"react.js.gz": "144623",
		"react.min.js": "135647",
		"react.min.js.gz": "39384",
		"react-dom.js": "1171",
		"react-dom.min.js": "706",
	},
	{
		version: "15.0.0",
		"react.js": "655607",
		"react.js.gz": "148523",
		"react.min.js": "145410",
		"react.min.js.gz": "42657",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.0.1",
		"react.js": "656686",
		"react.js.gz": "148818",
		"react.min.js": "145685",
		"react.min.js.gz": "42735",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.0.2",
		"react.js": "659291",
		"react.js.gz": "149528",
		"react.min.js": "146648",
		"react.min.js.gz": "42998",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.1.0",
		"react.js": "668793",
		"react.js.gz": "150158",
		"react.min.js": "147112",
		"react.min.js.gz": "43212",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.2.0",
		"react.js": "690515",
		"react.js.gz": "155322",
		"react.min.js": "153133",
		"react.min.js.gz": "45270",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.2.1",
		"react.js": "691206",
		"react.js.gz": "154707",
		"react.min.js": "147398",
		"react.min.js.gz": "43578",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.3.0",
		"react.js": "703233",
		"react.js.gz": "157080",
		"react.min.js": "148583",
		"react.min.js.gz": "44048",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.3.1",
		"react.js": "702373",
		"react.js.gz": "157363",
		"react.min.js": "148665",
		"react.min.js.gz": "44143",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.3.2",
		"react.js": "701412",
		"react.js.gz": "157665",
		"react.min.js": "148805",
		"react.min.js.gz": "44186",
		"react-dom.js": "1174",
		"react-dom.min.js": "709",
	},
	{
		version: "15.4.0",
		"react.js": "127469",
		"react.js.gz": "30345",
		"react.min.js": "21339",
		"react.min.js.gz": "7316",
		"react-dom.js": "619047",
		"react-dom.min.js": "123922",
	},
	{
		version: "15.4.1",
		"react.js": "127517",
		"react.js.gz": "30368",
		"react.min.js": "21339",
		"react.min.js.gz": "7316",
		"react-dom.js": "619308",
		"react-dom.min.js": "123996",
	},
	{
		version: "15.4.2",
		"react.js": "127694",
		"react.js.gz": "30461",
		"react.min.js": "21203",
		"react.min.js.gz": "7286",
		"react-dom.js": "620424",
		"react-dom.min.js": "123889",
	},
];

google.charts.load( 'current', { 'packages': [ 'line' ] } );
google.charts.setOnLoadCallback( drawChart );

function drawChart() {
	var data = new google.visualization.DataTable();

	data.addColumn('string', 'Version');
	data.addColumn('number', 'react.js');
	data.addColumn('number', 'react.js.gz');
	data.addColumn('number', 'react.min.js');
	data.addColumn('number', 'react.min.js.gz');
	data.addColumn('number', 'react-dom.js');
	data.addColumn('number', 'react-dom.min.js');

	data.addRows(
		_.map( versions, function( version ) {
			return [
				version.version,
				parseFloat( version[ "react.js" ] ),
				parseFloat( version[ "react.js.gz" ] ),
				parseFloat( version[ "react.min.js" ] ),
				parseFloat( version[ "react.min.js.gz" ] ),
				parseFloat( version[ "react-dom.js" ] ),
				parseFloat( version[ "react-dom.min.js" ] )
			];
		} )
	);

	var options = {
		chart: {
			title: "React File Size",
			subtitle: 'in Kilobytes (kB)'
		},
		height: 600
	};

	var chart = new google.charts.Line( document.getElementById( 'linechart_material' ) );

	chart.draw( data, options );
}

window.addEventListener( "resize", _.throttle( function() {
	drawChart();
}, 250 ) );

document.querySelector( "tbody tr:last-child").addEventListener( "mouseenter", function() {
	var tbody = document.querySelector( "tbody" );
	tbody.scrollTop = tbody.scrollHeight;
} );
